Software products often include online help files to assist users in performing tasks within the software. Users have become accustomed to executing these online help routines to assist them in performing tasks with the software. In more complex software environments, multiple help files may be used to provide the user with the requested help. In many cases, a search engine is used to search the help file, or files, and retrieve the relevant topics the user is requesting.
Search engines typically operate by the user first entering a query containing the topic in which the user desires help. The search engine then retrieves the help information related to the topic. Some search engines merely provide a user with a menu of help options, requiring the user to select from the available help options, and then retrieve the related help information based on the selected options. However, other search engines have become much more sophisticated by allowing a user to enter a query in a natural language. A natural language is a language that is structured to match the pattern of speech. For example, "How do I merge table cells?" is a query entered using natural language. These advanced search engines parse the query for important terms located in the query and use these terms to search the help files for related help information. This type of search is typically performed by using an indexing mechanism relating specific terms to the help information provided in the help files.
Even though the size of help files has increased to keep up with the increasing complexity of software and the number of tasks performed using the software, help files may not provide all the required help. Generally, online help files are not all inclusive and may leave out specific tasks. This may occur because the overall software community may only utilize a program function rarely, thereby justifying a software developers decision to leave out information on the function from the help file for performance reasons. This will, however, burden an individual user or office that may utilize the function often and desire to search for help on how to use the function. In addition, help files may not include specialized tasks created especially for the business using a general software product. In this case, the software developer fails to include the specialized task within the help file because he or she is unaware of the task.
Furthermore, as businesses rely more on software, many develop a computer service department to assist the employees with product information, software installation and solutions to software problems. To assist in this area, computer service departments will install "help desks" as a mechanism to assist the employees with their software needs. Often those monitoring the help desk will encounter the same question many times, particularly if that question relates to a task involving the software program that is not explained well in the software manual, in the online help or is related to how the software is used to perform a specialized business function. Help desk administrators will often develop user manuals or distribute special bulletins, either by paper or through a webpage on the business website, providing answers to users most frequently asked questions. In addition, software vendors may provide a "Frequently Asked Questions" bulletin or webpage providing answers to typical user questions. These "typical" user questions may not be anticipated by software developers during the initial development phase and, therefore, may not be included in online help or not readily accessible in the user manuals.
The result of this activity in the software help area is that the user is faced with many places to check in the event a question arises regarding a specific function of the software. In addition, help desk administrators are forced to maintain many sources of help information so that when a user calls in with a question, the help administrator is faced with checking various help bulletins, "Frequently Asked Questions" lists and online help in order to address the users questions.
Unfortunately, it is impossible for software developers to anticipate all the desired help related information to include in a help file during the software development phase. Regardless of the type of search engine used to support the help function, prior search engines typically do not allow a user to include additional information to be efficiently searched outside of what is in the help files. Prior search engines do not allow a user to include specific queries to relate to specific help topics. To address this help source overload by the user, an alternative approach allows the user to add a file as a help file for a software program. However, this approach does not provide for the addition of user queries to associate with specific help topics.
Therefore, there exists a need to search files that do not have a format supported by a search engine. In addition, there exists a need to associate user queries with related help topics contained in a file that is formatted in a manner supported by a search engine.